package com.sunwayhorizo.health.business.dto.registries;

import java.io.*;
import java.util.*;
import javax.validation.*;
import com.sunwayhorizo.health.business.dto.patad.empi.*;

/*******************************************
 * 描述:患者实体类Dto，(包含患者的所有个人信息,组织基本信息，place基本信息等）
 * <p>
 * 版权所有: horizo
 * <p>
 * 创建者: jinzw
 * <p>
 * 创建日期: 2010-10-26
 * <p>
 * 修改者:
 * <p>
 * 修改日期:
 * <p>
 * 修改说明:
 *******************************************/
public class EntitysDTO implements Serializable{

	/**
	 * 
	 */
	private static final long serialVersionUID = 7639560558299724186L;

	public EntitysDTO() {
	}

     
	/**
	 * 患者基本信息
	 */
	@Valid
	private PatientBaseInfoDTO patientBaseInfo = new PatientBaseInfoDTO();

	/**
	 * 医保信息
	 */
	public List<InfoInsuranceDTO> listInsurance = new ArrayList<InfoInsuranceDTO>();

    /**
     * 证件信息	
     */
	public List<MedicalCardDTO> listMedicalCard = new ArrayList<MedicalCardDTO>();

	/**
	 * 家庭信息
	 */
	public List<InfoHomeDTO> listHome = new ArrayList<InfoHomeDTO>();
	
	/**
	 * 就职单位DTO
	 */
	@Valid
	private OrganizationDTO organization = new OrganizationDTO();
	
	/**
     * 医院DTO
     */
    @Valid
    private OrganizationDTO hospital = new OrganizationDTO();
	
	/**
	 * 科室DTO
	 */
	private DepartmentDTO department = new DepartmentDTO();
	
	/**
	 * 工作组id列表
	 */
	//@NotEmpty(message="工作组id列表不能为空！",groups={NewEmployee.class})
	private List<String> workgroupIds = new ArrayList<String>();
	
	/**
	 * 工作组编号列表
	 */
	private List<String> workgroupCodes = new ArrayList<String>();
	
	@Override
	public String toString() {
		return "EntitysDTO [\n患者基本信息=" + patientBaseInfo
				+ ",\n 医保信息=" + listInsurance + ",\n 证件信息="
				+ listMedicalCard + ",\n 家庭信息=" + listHome
				+ ",\n 单位信息=" + organization + ",\n 科室信息="
				+ department + ",\n workgroupIds=" + workgroupIds 
				+ ",\n workgroupCodes=" + workgroupCodes 
				+ "\n]";
	}
	
	public PatientBaseInfoDTO getPatientBaseInfo() {
		return patientBaseInfo;
	}

	public void setPatientBaseInfo(PatientBaseInfoDTO patientBaseInfo) {
		this.patientBaseInfo = patientBaseInfo;
	}

	public List<InfoInsuranceDTO> getListInsurance() {
		return listInsurance;
	}

	public void setListInsurance(List<InfoInsuranceDTO> listInsurance) {
		this.listInsurance = listInsurance;
	}


	public List<MedicalCardDTO> getListMedicalCard() {
		return listMedicalCard;
	}

	public void setListMedicalCard(List<MedicalCardDTO> listMedicalCard) {
		this.listMedicalCard = listMedicalCard;
	}

	public List<InfoHomeDTO> getListHome() {
		return listHome;
	}

	public void setListHome(List<InfoHomeDTO> listHome) {
		this.listHome = listHome;
	}

	public OrganizationDTO getOrganization() {
		return organization;
	}

	public void setOrganization(OrganizationDTO organization) {
		this.organization = organization;
	}

	public DepartmentDTO getDepartment() {
		return department;
	}

	public void setDepartment(DepartmentDTO department) {
		this.department = department;
	}


	public List<String> getWorkgroupIds() {
		return workgroupIds;
	}

	public void setWorkgroupIds(List<String> workgroupIds) {
		this.workgroupIds = workgroupIds;
	}

	

	public List<String> getWorkgroupCodes() {
		return workgroupCodes;
	}

	public void setWorkgroupCodes(List<String> workgroupCodes) {
		this.workgroupCodes = workgroupCodes;
	}

	public static long getSerialversionuid() {
		return serialVersionUID;
	}

    public void setHospital(OrganizationDTO hospital)
    {
        this.hospital = hospital;
    }

    public OrganizationDTO getHospital()
    {
        return hospital;
    }
	

}
